import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
// 导入ejs模板引擎
// import 'dotenv/config'
import {Logger} from '@nestjs/common'
import {NestExpressApplication} from '@nestjs/platform-express' // 导入express模块去搭建服务器
import {join} from 'path' // 导入parse模块
// 导入cookie-parse
import * as cookieParser from 'cookie-parser'
// 导入session
import * as session from 'express-session'
const PORT=process.env.PORT || 8080


async function bootstrap() {
  // const app = await NestFactory.create(AppModule);
  // await app.listen(3000);
  const app=await NestFactory.create<NestExpressApplication>(AppModule)
 
  // 配置静态文件的目录
    //方式一是直接访问:localhost:4000/1.jpg
    //app.useStaticAssets(join(__dirname, '..', 'public')); 
    //方式二是访问:localhost:4000/static/1.jpg但是在public文件夹下不需要创建static目录
    app.useStaticAssets(join(__dirname,'..','public'),{
      prefix:'/static'// 配置虚拟路径
    })
    // 配置视图文件的目录 配置默认用户访问的时候使用views这个目录 
    app.setBaseViewsDir(join(__dirname,'..','views'))
    // 配置使用ejs模板引擎
    app.setViewEngine('ejs')
     // 调用cookie-parser  相当于调用第三方中间件
    app.use(cookieParser()) // 第三方中间件需要执行
    // 配置session
    app.use(session({secret:'123456',cookie:{maxAge:60000}})) //secret 相当于是在加盐
    await app.listen(PORT,()=>{
      Logger.log(`服务已经启动请访问http://www.localhost:${PORT}`)
      console.log(111);
      
    })


}
bootstrap();
